#include<iostream>
#include<vector>
#include<set>
using namespace std;

// 求第k大数
int topk(vector<int>&v, int k)
{
	// 集合（排序）
	set<int, greater<int>> s;
	for(auto e:v)
		s.insert(e);
	
	// 定义s的迭代器
	auto it=s.begin();
	
	// it向后移动k-1次
	for(int i=1;i<k;i++)	
		it++;
	return *it;
}
	
int main()
{
	// 打印数据
	vector<int> v={1,4,6,2,5,6,3,2,1};
	printf("v: ");
	for(int i=0;i<v.size();i++)
		printf("%d ",v[i]);
	printf("\n");
	
	// 求第k大数
	for(int k=1; k<=6; k++)
		printf("第%d大的整数=%d\n", k, topk(v,k));
	return 0;
}
